package Inteligencia;

import Juego.*;
import Naves.*;

/**CLASE MAPA QUE SE ENCARGA DE CREAR LAS NAVES ENEMIGAS DE DISTINTO TIPO
DANDO ASI UN FORMATO, Y CARACTERISTICAS QUE EL JUEGO VA A TENER, LAS OLEADAS, LA CANTIDAD DE NAVE, LA DURACION
 MISMA DEL JUEGO Y OTROS DETALLES.
*/
public class mapa extends Thread{
	protected NavesUsuario jugador;
	protected Gui game;
	public mapa(Gui g){
		game=g;
		jugador=g.getUsuario();	
	}
	public void run(){
	
		
	for (int i=0;i<10;i++){
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarFederacion(new NaveFederacion(game));
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {}

		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		
		game.InsertarDestructor(new NaveDestructor(game));
		try {
			Thread.sleep(6000);
		} catch (InterruptedException e) {}
		
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarDestructor(new NaveDestructor(game));
		
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
	}
	
	
		
	game.usobomba();
	game.usobomba();
	game.usobomba();
	jugador.desactivarbombas();
	NaveBoss g=new NaveBoss(game);
	
	game.InsertarJefe(g);
	while (jugador.estaVivo()&& g.estaVivo()){
		System.out.println("se sigue ejecuntando");
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		game.InsertarCaza(new NaveCaza(game));
		try {
			Thread.sleep(6000);
		} catch (InterruptedException e) {}
	}
	if(!g.estaVivo()){
		jugador.setTermino(true);
	}
	

	}
	
}

